package com.panasonic.web.mapper;

import com.panasonic.web.domain.cms.CmsCategory;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 类目Mapper接口
 * 
 * @author lwf
 * @date 2021-11-12
 */
public interface CmsCategoryMapper 
{
    /**
     * 查询类目
     * 
     * @param categoryId 类目ID
     * @return 类目
     */
    public CmsCategory selectCmsCategoryById(Long categoryId);

    /**
     * 查询类目列表
     * 
     * @param cmsCategory 类目
     * @return 类目集合
     */
    public List<CmsCategory> selectCmsCategoryList(CmsCategory cmsCategory);

    /**
     * 新增类目
     * 
     * @param cmsCategory 类目
     * @return 结果
     */
    public int insertCmsCategory(CmsCategory cmsCategory);

    /**
     * 修改类目
     * 
     * @param cmsCategory 类目
     * @return 结果
     */
    public int updateCmsCategory(CmsCategory cmsCategory);

    /**
     * 删除类目
     * 
     * @param categoryId 类目ID
     * @return 结果
     */
    public int deleteCmsCategoryById(Long categoryId);

    /**
     * 批量删除类目
     * 
     * @param categoryIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteCmsCategoryByIds(Long[] categoryIds);


    /**
     * 修改状态
     * @param ids
     * @param status
     * @param updateBy
     * @param updateTime
     * @return
     */
    int changeStatus(@Param("ids") Long[] ids, @Param("status") String status,@Param("updateBy") String updateBy, @Param("updateTime") Date updateTime);

    Integer selectDepartmentCount();
}
